package com.peanut.aop.note;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.*;
import org.springframework.stereotype.Component;

/** 自定义类
 * @author chenhs
 * @date 2021/4/17
 */

@Component
@Aspect//@Aspect  表示这时一个切面
public class Aop {
	//配置切入点
	@Pointcut("execution(* com.peanut.aop.note.UserImpl.*(..)))")
	public  void  pintCut(){
	
	}
	//配置切入方式和方法
	@Before("pintCut()") //@After增强方式  execution 配置切入点
	public  void  beforeMothed(){
		System.out.println("===========befor================");
	}
	@After("pintCut()")
	public  void  afterMothed(){
		System.out.println("===========after================");
	}
	@Around("pintCut()")
	public  void  around(ProceedingJoinPoint jp) throws Throwable {
		System.out.println("-------环绕执行前------");
		// 表示需要增强的方法已执行。环绕总的有个环的吧不然怎环
		 jp.proceed();
		System.out.println("-------环绕执行后------");
	}
	
	
}
